﻿#ifndef __BLOOD_H_
#define __BLOOD_H_
#include "Entity.h"
#include<QRect>
#include<QPainter>
// 血量条属性
class BloodColor
{
public:
	BloodColor() {};
	BloodColor(const QColor& pen, const QColor& brush):PenColor(pen),BrushColor(brush) {};
	/*void operator=(const BloodColor& in) { PenColor = in.PenColor; BrushColor = in.BrushColor; };*/
	QColor PenColor;//血条边框颜色
	QColor BrushColor;//血条填充颜色
};
//血量条
class Blood /*: public Entity*/
{
public:
	Blood() = default;
	//增加一个阈值0~1(匹配大于阈值)对应的边框和填充颜色，匹配最大的阈值
	void addColor(const qreal num,const QColor&Pen,const QColor& Brush);
	void draw(QPainter* painter);
	//血条百分比绘图
	void draw(QPainter* painter, const qreal num);
	//百分比更新数据
	void update(const qreal num);
	//移动血条
	void move(const QPoint& pos);
	//设置血条矩形
	void setRect(const QRect& rect);
	//设置血条大小
	void setSize(const QSize& size);
private:
	QRect m_rect;//血条矩形
	std::map<qreal, BloodColor> m_color;//当前血条颜色
	BloodColor m_CurrentColor;//当前颜色
	qreal m_num;//百分数
};
#endif